// anyObj<Type> 表示 anyObj 是一个泛型接口，其中 Type 是一个类型参数，表示 anyObj 的值类型。
// anyObj 的 key 是一个字符串索引，它的值类型是 Type。
// js中对象{}属性的键是string类型
interface anyObj<Type> {
  [key: string]: Type
}

let obj1: anyObj<number> = {
  name: 1,
  age: 2,
  sex: 3
}

obj1['name'] = 2
console.log(obj1.name)

const arr = [1, 2, 3]
arr[0]

// 数组的索引签名类型
// 数组每个元素的键是number类型
interface myArray<Type> {
  [index: number]: Type
}

let myarr:myArray<number> = [1, 2, 3]

console.log(myarr[1])